home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Controls / Visual Basic Controls.iso / vbcontrol / psetting / pseval.exe / _SETUP.1 / Child.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1997-10-17  |  1.8 KB  |  94 lines

  1. unit Child;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, PSetting;
  8.  
  9. type
  10.   TfrmChild = class(TForm)
  11.     frmsChild: TPFormSettings;
  12.     Memo1: TMemo;
  13.     dlgSave: TSaveDialog;
  14.     procedure FormShow(Sender: TObject);
  15.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  16.     procedure FormCreate(Sender: TObject);
  17.   private
  18.     { Private declarations }
  19.   public
  20.     FileName : String;
  21.  
  22.     procedure Save;
  23.     procedure Open;
  24.   end;
  25.  
  26. implementation
  27.  
  28. {$R *.DFM}
  29.  
  30. procedure TfrmChild.FormShow(Sender: TObject);
  31. begin
  32.     { Restore from Stream }
  33.     if ( FileName <> '' ) then
  34.     begin
  35.         Open;
  36.     end;
  37. end;
  38.  
  39. procedure TfrmChild.FormClose(Sender: TObject; var Action: TCloseAction);
  40. begin
  41.     { SaveToStream }
  42.     if ( FileName = '' ) then
  43.     begin
  44.         if ( dlgSave.Execute = TRUE ) then
  45.         begin
  46.             FileName := dlgSave.FileName;
  47.         end;
  48.     end;
  49.  
  50.     if ( FileName <> '' ) then
  51.     begin
  52.         Save;
  53.     end;
  54.  
  55.     Action := caFree;
  56. end;
  57.  
  58. procedure TfrmChild.Save;
  59. var
  60.     tempStream : TFileStream;
  61. begin
  62.     if ( FileName <> '' ) then
  63.     begin
  64.         tempStream := TFileStream.Create( FileName, fmOpenWrite or fmCreate );
  65.         try
  66.             frmsChild.SaveToStream( tempStream, FileName );
  67.         finally
  68.             tempStream.Free;
  69.         end;
  70.     end;
  71. end;
  72.  
  73. procedure TfrmChild.Open;
  74. var
  75.     tempStream : TFileStream;
  76. begin
  77.     if ( FileName <> '' ) then
  78.     begin
  79.         tempStream := TFileStream.Create( FileName, fmOpenRead );
  80.         try
  81.             frmsChild.RestoreFromStream( tempStream );
  82.         finally
  83.             tempStream.Free;
  84.         end;
  85.     end;
  86. end;
  87.  
  88. procedure TfrmChild.FormCreate(Sender: TObject);
  89. begin
  90.     FileName := '';
  91. end;
  92.  
  93. end.
  94.